﻿#-*- coding: utf-8 -*-
#-------------------------------------------------------------------------------
# Name:        建立字典
# Purpose:
# Author:      SUMMVING
# Created:     2013/08/12  23:38
# Copyright:   (c) SUMMVING 2013
# Licence:     GPLv3
#-------------------------------------------------------------------------------

dic5 = {0:'a',1:'b',2:'c'}         #字典是用大括号的
print 'dic5[0] = ',dic5[0]         #输出第0位，输出：a

#----------
f = 12                             #定义f，g，如果没有定义，下面就无法运行
g = 34
zidian = {f:'ab',g:'cd'}
print 'f = ',zidian[12]            #f已经赋值为12了，输出：f = ab

#----------
dic0 = {0:00,1:01,2:02}
print 'dic0 = ',dic0

dic1 = {'name'  :'summving',
        'age'   : 22,
        'gender':'male'}           #name必须加单引号，否则提示未定义
for k in dic1:                     #for结构后面必须有冒号：
    print 'k = ',k                 #现在只是输出了字典元素名称，依次输出：k =  gender， k =  age， k =  name

for j in dic1:
    print 'dic1[j] =',dic1[j]      #此时依次输出元素的值，每行一个：suumving，22，male

print 'dic0[1] = ',dic0[1]         #1：01，输出：1

#-----------
dic2 = {"jack":"i am jack",
        "peter":"i am peter"}
print 'dic2["jack"] = ',dic2["jack"]    #若使用双引号jack，则输出时也必须使用双引号
                                        #输出jack的值i am jack
dic3 = {'jack':"i am jack",'peter':"i am peter"}
print "dic3['peter'] =",dic3['peter']

#-----------
del dic2["jack"]                      #删除dic2中jack元素，用单引号还是双引号无区别
print 'del dic2["jack"] =',dic2

dic2['tel'] = '137'                   #为字典dic2增加一个元素tel，其排列顺序不一定
                                      #为列表增加元素用.append()，
print "dic2 add 'tel' =",dic2
dic2['tel'] = '137269'                #直接修改元素tel
print "dic2[] = ",dic2

#-----------
print dic2.pop('tel')                 #弹出元素tel的值
print dic2                            #现在dic2里面已经无tel元素

#-----------
i = dict(zip(('x','y'),(1,2)))        #等效于dict(x=1,y=2),工厂函数dict
print 'i = ',i                        #输出：i =  {'y': 2, 'x': 1}
l = dict(x=1,y=2)                     #创建字典
print 'l = ' ,l                       #结果为{'y': 2, 'x': 1}
print 'y = ',l['y']                   #l['y']必须有单引号，输出：y = 2


print 'dic3.jack = ',dic3.get('jack')  #从字典dic3中读取jack的值
l = dict.fromkeys(k,'hello')           #在字典k基础上添加hello生成字典l
print 'l = ',l                         #输出：l =  {'a': 'hello', 'e': 'hello', 'm': 'hello', 'n': 'hello'}

#-----------

dic4 = {'a': 123, 1 : 101 ,'b' : 456, 2 : 020}
print 'dic4 = ' , dic4
print "dict4's elements are = " ,dic4.keys()        #输出字典的元素（element）
print "dict4's values are =",dic4.values()          #输出字典函数值

#-----------
dict.clear(dic4)                        #清除字典dic4里面的元素
print 'after clear,dic4 =',dic4         #输出：after clear,dic4 = {}




